function curry(func){
    return function curried(...args){
        if(args.length >= func.length){
            return func.apply(this,args)
        }else{
            return function(...args2){
                return curried.apply(this,args.concat(args2))
            }
        }
    }
}
/**
 *
 * @param {*} date 日期时间
 * @param {*} importance 日志级别： DEBUG INFO WARN ERROR
 * @param {*} message 信息内容
 */
function log(date, importance, message) {
	console.log(`[${date.getHours()}:${date.getMinutes()}] [${importance}] ${message}`)
}
log(new Date(), 'DEBUG','this is TypeError')

const logCurry = curry(log) // 柯里化

const logDate = logCurry(new Date())  // 柯里化第一个参数日期
logDate('INFO','this is info message!')

const logWarn = logDate('WARN')  // 柯里化第二个参数日志级别

logWarn('this is warn message') // logWarn输出当前日期，警告级别的日志